AJAX Database

Web Development - জাভাস্ক্রিপ্ট (JavaScript) জাভাস্ক্রিপ্ট অ্যাজাক্স (JS AJAX) |
252
252

AJAX ব্যবহার করে ওয়েব পেজ থেকে সার্ভারের ডেটাবেসে ডেটা পাঠানো এবং সেখান থেকে ডেটা সংগ্রহ করা সম্ভব হয়। এই পদ্ধতি ব্যবহার করে ওয়েব অ্যাপ্লিকেশনগুলো আরও ডাইনামিক, ইন্টারঅ্যাকটিভ এবং দ্রুত হয়ে ওঠে। সাধারণত, AJAX রিকোয়েস্ট পাঠিয়ে PHP বা অন্য সার্ভার সাইড স্ক্রিপ্টে ডেটাবেস কোয়েরি (Query) চালানো হয় এবং ফলস্বরূপ ডেটা ব্রাউজারে ফেরত পাঠানো হয়।


AJAX এবং PHP এর মাধ্যমে ডেটাবেসে ডেটা পাঠানো এবং আনা

এখানে, আমরা একটি MySQL ডেটাবেসে ডেটা ইনসার্ট (insert) করার এবং ডেটা রিট্রিভ (retrieve) করার উদাহরণ দেখব।

ডেটাবেস কনফিগারেশন

প্রথমে, আপনার ডেটাবেস সেটআপ করতে হবে। আমরা একটি users টেবিল তৈরি করব যেখানে name এবং email ফিল্ড থাকবে।

SQL Query for Creating Table:

CREATE TABLE users (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(50) NOT NULL,
    reg_date TIMESTAMP
);

AJAX এবং PHP ব্যবহার করে ডেটাবেসে ইনসার্ট করা

ধরা যাক, আমরা AJAX ব্যবহার করে একটি ফর্মের মাধ্যমে ইউজারের নাম এবং ইমেইল ডেটাবেসে পাঠাব।

HTML ফর্ম

<form id="userForm">
    <input type="text" id="name" placeholder="Enter your name" required>
    <input type="email" id="email" placeholder="Enter your email" required>
    <button type="submit">Submit</button>
</form>
<div id="response"></div>

JavaScript (AJAX)

document.getElementById('userForm').addEventListener('submit', function(event) {
    event.preventDefault();  // ফর্ম সাবমিট হওয়া থেকে রোধ করা

    const name = document.getElementById('name').value;
    const email = document.getElementById('email').value;

    const xhr = new XMLHttpRequest();
    xhr.open('POST', 'insert.php', true);
    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

    xhr.onload = function() {
        if (xhr.status === 200) {
            document.getElementById('response').innerHTML = xhr.responseText;  // রেসপন্স ডিভে প্রদর্শন
        } else {
            console.error('Error:', xhr.status);
        }
    };

    xhr.send('name=' + encodeURIComponent(name) + '&email=' + encodeURIComponent(email));  // ইনপুট পাঠানো
});

PHP স্ক্রিপ্ট (insert.php)

<?php
// ডেটাবেস সংযোগ
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";  // ডেটাবেসের নাম

$conn = new mysqli($servername, $username, $password, $dbname);

// সংযোগ পরীক্ষা
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// ইনপুট ডেটা রিসিভ করা
if (isset($_POST['name']) && isset($_POST['email'])) {
    $name = $_POST['name'];
    $email = $_POST['email'];

    // SQL কোয়েরি
    $sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";

    if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }

    $conn->close();
}
?>

ব্যাখ্যা

  1. HTML ফর্ম: ব্যবহারকারী নাম এবং ইমেইল প্রদান করবে, যা name এবং email ইনপুট ফিল্ডে থাকবে।
  2. JavaScript (AJAX): ইউজার ফর্ম জমা দেওয়ার পর, AJAX রিকোয়েস্ট তৈরি হবে এবং PHP স্ক্রিপ্টে POST রিকোয়েস্ট পাঠানো হবে। স্ক্রিপ্টে পাঠানো ডেটা হলো name এবং email
  3. PHP (insert.php): PHP স্ক্রিপ্ট $_POST এর মাধ্যমে ডেটা গ্রহণ করবে এবং ডেটাবেসে ইনসার্ট করবে। ইনসার্ট সফল হলে "New record created successfully" মেসেজটি ফিরে পাঠানো হবে।

AJAX এবং PHP ব্যবহার করে ডেটাবেস থেকে ডেটা রিট্রিভ করা

এখন, আমরা AJAX ব্যবহার করে ডেটাবেস থেকে তথ্য রিট্রিভ করব এবং সেগুলো ওয়েব পেজে প্রদর্শন করব।

JavaScript (AJAX)

// একটি ফাংশন তৈরি করা যা ডেটাবেস থেকে তথ্য নেবে
function loadUsers() {
    const xhr = new XMLHttpRequest();
    xhr.open('GET', 'fetch.php', true);

    xhr.onload = function() {
        if (xhr.status === 200) {
            document.getElementById('response').innerHTML = xhr.responseText;  // রেসপন্স ডিভে প্রদর্শন
        } else {
            console.error('Error:', xhr.status);
        }
    };

    xhr.send();
}

// পেজ লোড হওয়ার পর ডেটা লোড করা
window.onload = loadUsers;

PHP স্ক্রিপ্ট (fetch.php)

<?php
// ডেটাবেস সংযোগ
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";  // ডেটাবেসের নাম

$conn = new mysqli($servername, $username, $password, $dbname);

// সংযোগ পরীক্ষা
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// SQL কোয়েরি ডেটা সংগ্রহের জন্য
$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);

// ডেটা প্রক্রিয়া করা এবং HTML আউটপুট তৈরি
if ($result->num_rows > 0) {
    echo "<ul>";
    while($row = $result->fetch_assoc()) {
        echo "<li>ID: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "</li>";
    }
    echo "</ul>";
} else {
    echo "0 results";
}

$conn->close();
?>

ব্যাখ্যা

  1. JavaScript (AJAX): loadUsers() ফাংশনটি fetch.php স্ক্রিপ্টে GET রিকোয়েস্ট পাঠাবে। রেসপন্স হিসেবে PHP স্ক্রিপ্ট ডেটাবেস থেকে পাওয়া তথ্য HTML আউটপুট হিসেবে ফিরিয়ে দেবে।
  2. PHP (fetch.php): PHP স্ক্রিপ্টে একটি SELECT কোয়েরি চালানো হচ্ছে যা users টেবিল থেকে id, name, এবং email ফিল্ডগুলো নেয়। এরপর এই ডেটা HTML আউটপুট আকারে পাঠানো হয়, যা ব্রাউজারে প্রদর্শিত হয়।

AJAX এবং PHP ব্যবহার করে ডেটাবেসের সুবিধা

  1. ডাইনামিক ডেটা আপডেট: AJAX ব্যবহারে ডেটাবেস থেকে ডেটা লোড বা ইনসার্ট করার সময় পেজ রিলোড করা প্রয়োজন হয় না।
  2. ইন্টারঅ্যাকটিভ ইউজার এক্সপেরিয়েন্স: ব্যবহারকারী পেজ রিলোড ছাড়াই দ্রুত ডেটা দেখতে বা পাঠাতে সক্ষম হয়।
  3. ব্যাকগ্রাউন্ড ডেটা ট্রান্সফার: সার্ভারের সাথে ব্যাকগ্রাউন্ডে ডেটা আদান-প্রদান করে, যা পেজ লোডের সময় কমিয়ে দেয়।

সারাংশ

AJAX এবং PHP ব্যবহার করে ডেটাবেসে ডেটা ইনসার্ট এবং রিট্রিভ করা সহজ এবং কার্যকর পদ্ধতি। AJAX এর মাধ্যমে ফর্ম সাবমিট বা ডেটাবেস থেকে ডেটা লোড করা হয় এবং PHP স্ক্রিপ্টে ডেটা প্রক্রিয়া করা হয়। এই পদ্ধতি ওয়েব অ্যাপ্লিকেশনগুলোকে দ্রুত এবং ইন্টারঅ্যাকটিভ করে তোলে, কারণ এটি পেজ রিলোড ছাড়াই ডেটাবেসের সাথে ইন্টারঅ্যাক্ট করতে পারে।


অতিরিক্ত রিসোর্স

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion
;